﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CanDoo.Oil.Core.DTOs
{
    /// <summary>
    /// API实体类——客户卡API信息
    /// </summary>
    [Serializable]
    [Description("客户卡API信息")]
    public class CustomerApiInfo
    {
        public string Id { get; set; }

        [Display(Name = "物理卡号")]
        [StringLength(50)]
        public string PhysicalNo { get; set; }
        

        /// <summary>
        ///卡号
        /// </summary>
        [Display(Name = "卡号")]
        [Required, StringLength(50)]
        public string CardNo { get; set; }

        /// <summary>
        ///姓名
        /// </summary>
        [Display(Name = "姓名")]
        [Required, StringLength(50)]
        public string Name { get; set; }

        /// <summary>
        ///卡类别1储值2储油3售油机管理卡4服务中心
        /// </summary>
        [Display(Name = "卡类别")]
        [Required]
        public int CardType { get; set; }

        /// <summary>
        ///卡类别1储值2储油3售油机管理卡4服务中心
        /// </summary>
        [Display(Name = "卡类别名称")]
        public string CardTypeName { get; set; }

        /// <summary>
        ///购买限制
        /// </summary>
        [Display(Name = "购买限制")]
        public virtual string LimitProductName { get; set; }

        /// <summary>
        ///账户余额
        /// </summary>
        [Display(Name = "账户余额")]
        [Required]
        public double Balance { get; set; }

        /// <summary>
        ///面额
        /// </summary>
        [Display(Name = "面额")]
        public double Denomination { get; set; }


        /// <summary>
        ///是否制卡
        /// </summary>
        [Display(Name = "是否制卡")]
        public bool IsBurn { get; set; }

        /// <summary>
        ///是否在线
        /// </summary>
        [Display(Name = "是否在线")]
        [Required]
        public bool IsOnline { get; set; }

        /// <summary>
        ///是否锁定
        /// </summary>
        [Display(Name = "是否锁定")]
        public bool IsLocked { get; set; }
    }
}
